A data center stores data for an organization and is managed by a data center management system. The data in the data center may be required to meet certain service-level objectives (SLOs), as set by a data administrator. Dynamism is a change in the total workload experienced by the data center management system. Dynamism can occur because of the large amounts of data in the data center and the large number of users using the data. Moreover, dynamism can occur when the set of applications running in the data center changes and as the storage workload generated by applications changes over time.
The data center management system for a data center primarily works with available storage resources, such as entire storage systems, aggregates of disk drives, etc. to address dynamism. Data center management systems typically rely on two methods to address dynamism: 1) pre-allocation of resources and 2) per-resource controllers.
In pre-allocation of resources, a data center management system pre-allocates resources to handle peak application needs. Examples of the pre-allocated resources include CPUs, memory, flash storage, disk drives, network, etc., or a combination thereof. The pre-allocated resources are often in the form of entire storage systems. Pre-allocation of resources often results in the use of more resources than necessary by the data center for current needs, thereby increasing cost, and possibly also resulting in resources not being available to satisfy new needs.
In per-resource controllers, a data center management system uses independent per-resource controllers to maintain service-level objectives (SLOs) for all applications. Because the per-resource controllers work independently, more resources may be expended than needed to address SLO needs. Moreover, the use of per-resource controllers may lead to additional SLO violations, useless work, and unavailability.